/**
* 
* 
*  
*====================================================
* 文件名称: MyContext.java
* 修订记录：
* No    日期				作者(操作:具体内容)
* 1.    2008-7-2			
*====================================================
* 类描述：(说明未实现或其它不应生成javadoc的内容)
* 
*/
package com.devframe.web;

import java.util.Enumeration;

/**
 *<pre><b><font color="blue">MyContext</font></b></pre>
 *
 *<pre><b>&nbsp;--上下文接口--</b></pre>
 * <pre></pre>
 * <pre>
 * <b>--样例--</b>
 *   
 * </pre>
 * JDK版本：JDK1.4
 * @author  <b></b> 
 */
public interface MyContext {
    
    /**
     * getSessionAttributeNames
     * @return session属性
     * 
     */
    Enumeration getSessionAttributeNames();
    /**
     * getSessionAttribute
     * @param name session存储key
     * @return Object
     * 
     */
    Object getSessionAttribute(String name);
    /**
     * setSessionAttribute
     * @param name key
     * @param o value
     * 
     */
    void setSessionAttribute(String name, Object o);
    /**
     * removeSessionAttribute
     * @param name key
     * 
     */
    void removeSessionAttribute(String name);
    
    /**
     * getRequestAttributeNames
     * @return Enumeration
     * 
     */
    Enumeration getRequestAttributeNames();
    /**
     * getRequestAttribute
     * @param name name
     * @return  Object
     * 
     */
    Object getRequestAttribute(String name);
    /**
     * setRequestAttribute
     * @param name key
     * @param o value
     * 
     */
    void setRequestAttribute(String name, Object o);
    /**
     * removeRequestAttribute
     * @param name key
     * 
     */
    void removeRequestAttribute(String name);
    
    /**
     * getParameterNames
     * @return ParameterNames
     * 
     */
    Enumeration getParameterNames();
    /**
     * getParameter
     * @param name name
     * @return Parameter String
     * 
     */
    String getParameter(String name);
    /**
     * getParameterValues
     * @param name name
     * @return String[]
     * 
     */
    String[] getParameterValues(String name);
    
    /**
     * getApplicationAttributeNames
     * @return Enumeration
     * 
     */
    Enumeration getApplicationAttributeNames();
    /**
     * getApplicationAttribute
     * @param name name
     * @return Object
     * 
     */
    Object getApplicationAttribute(String name);
    /**
     * setApplicationAttribute
     * @param name key
     * @param o value
     * 
     */
    void setApplicationAttribute(String name, Object o);
    /**
     * removeApplicationAttribute
     * @param name key
     * 
     */
    void removeApplicationAttribute(String name);
    
    /**
     * getRemoteAddr
     * @return 客户端IP地址
     * 
     */
    String getRemoteAddr();
    
    /**
     * getRemoteHost
     * @return 客户端主机名称
     * 
     */
    String getRemoteHost();
    
    /**
     * getRootPath
     * @return 应用根目录所在实际文件路径
     * 
     */
    String getRootPath();
    
    /**
     * 获取更新属性列表
     * 用于获取修改页面对某个实体修改的属性
     * @param name form的实体属性名
     * @return 修改属性名数组
     */
    String[] getUpdateProperties(String name);

}
